Network-based services are often provided over networks, such as a company's own private telecommunications network, the network of a public telephone company, or the internet. In order to provide services to users on these networks, the specific hardware devices and specific software applications needed for the services are configured.
This is typically done by engaging various skilled technicians to configure devices and/or applications each time a user subscribes to a network-based service. Information from various sources, including user databases, customer relationship management (CRM) systems and billing systems, is cobbled together to configure the devices and applications and to set up the service. This configuring of devices and assembling of information can be a fairly manual, time-intensive task.
Not only is the setting up of such a service for the first user a time-intensive task, but significant amounts of time are also involved in setting up the service for subsequent users. Software code used to set up a service is generally not written in a modular form that is easily reusable to configure additional services for similar devices, applications or users. To provision an additional service to a new or existing user, a system administrator might set up an account for the user by accessing a customer relationship management (CRM) system, a user database and a billing system. Once the user account is set up, the system administrator might, for example, send a facsimile message to a technician instructing the technician to locate a particular piece of equipment and to provision that device. If the equipment is already installed at the location of the user in the field, then the equipment configuring may occur remotely over the network without the need for a technician to go to the location of the equipment.
Thus, setting up a service involving networking devices and computing devices conventionally may involve multiple steps in which system administrators and technicians access multiple systems to configure the necessary networking devices and computing devices. In the event a service for a second user (or another service for the same user) is to be set up, this often time-intensive process is repeated. A system is therefore sought that eliminates cost, time and complexity associated with setting up such services. A system that allows users to self-activate network and computing services is desired.